﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
//MicroDesigner
using Jc.MicroDesigner.Drawings.SpecialObjects;

namespace Jc.MicroDesigner.Drawings.Tools
{
    /// <summary>
    /// Инструмент для текстовых надписей на схемах
    /// </summary>
    public sealed class TextTool : DrawingTool
    {
        /// <summary>
        /// Создать инструмент
        /// </summary>
        public TextTool()
        {
            this._Name = "Текст";
            this._ToolCursor = Cursors.Cross;
        }

        public override void OnMouseUp(DrawPanel panel, MouseEventArgs e)
        {
            //1.Вызвать форму для набора текста
            TextToolForm form = new TextToolForm();
            if (form.ShowDialog() == DialogResult.OK)
            {
                //2.Создать объект TextObject
                TextObject obj = new TextObject(form.TextValue, "NewTextLabel");
                obj.DrawOptions.Left = e.X;
                obj.DrawOptions.Top = e.Y;
                obj.TextFont = (System.Drawing.Font)form.TextFont.Clone();
                //3.Добавить его в коллекцию объектов
                if (panel.ObjManager != null)
                {
                    obj.Name = panel.ObjManager.NewElementName(typeof(TextObject));
                    panel.ObjManager.Elements.Add(obj);
                    panel.Invalidate();
                }
            }
        }
    }
}